package day2;

import java.lang.reflect.Field;

public class GetUserClass {
    public static void main(String[] args) throws Exception {
        //获取User的class对象
        Class  userClass = User.class;
        System.out.println("--------------1、getDeclaredFields()获取User类所有属性返回一个数组，忽略修饰符等级------------------");
    //1、getDeclaredFields()获取User类所有属性返回一个数组，忽略修饰符等级
        Field[] declaredFields = userClass.getDeclaredFields();
        for(Field field:declaredFields){
            System.out.println(field);
        }
        System.out.println("-------------2、getDeclaredField(\"IdCar\")获取User指定属性，忽略修饰符等级-----------------");
   //2、getDeclaredField("IdCar")获取User指定属性，忽略修饰符等级
        Field idCar = userClass.getDeclaredField("IdCar");
        //忽略访问权限修饰符的安全检查
        idCar.setAccessible(true);
        System.out.println("idCar:"+idCar);
    //3、给idCar设置值
        System.out.println("-----------3、idCar.set(user,\"45250318897\")设置idCar的值-----------");
        User user=new User();
        idCar.set(user,"45250318897");//set需要传入一个user对象
        System.out.println("idCar.set(user,\"45250318897\"):"+user);
    }
}
